МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
КІСіТ КНЕУ ім. В. Гетьмана
Самостійна робота №5
з предмету: "Методи та засоби комп’ютерних інформаційних технологій”
за ІІ семестр 2010-2011 н.р.
Тема: Математичні основи комп’ютерної графіки .
Київ-2010
Математичні основи комп’ютерної графіки
Для того щоб відображати графічні об'єкти на дисплеї потрібно мати якийсь інструмент, що дозволяє легко і просто описувати ці об'єкти на мові математики. Положення точок на площині дуже зручно описувати за допомогою декартової системи координат. Щоб створити декартову систему координат потрібно провести дві прямі неколінеарних лінії, які називають осями. Нехай вони перетинаються в точці 0, яку називають початком координат. Виберемо на побудованих осях одиницю виміру. Тоді положення будь-якої точки площини можна описати через координати цієї точки, які представляють собою відстані від початку координат до проекцій точки на відповідні осі координат. Проекцією точки на координатну вісь називається точка перетину прямої, що проходить через задану точку і паралельної іншої осі координат. Взагалі введені осі координат можуть розташовуватися під довільним кутом (рис. 1).
Рис.1.
Однак, на практиці зручно користуватися системою координат із взаємно перпендикулярними осями. Така система координат називається ортогональною. Осі координат мають назви; горизонтальна вісь називається віссю абсцис (Ox), вертикальна - віссю ординат (Oy). Таким чином, точка на площині представляється двома своїми координатами, що записується у вигляді двовимірного вектора P = (x, y).
Математичний апарат опису точок на площині за допомогою декартової системи координат ідеально підходить для виконання різних афінних перетворень над точками (зсув, масштабування, обертання).
Крапку P (x, y), задану на площині можна перенести (зрушити) у нову позицію шляхом додавання до координат цієї точки констант переносу. Для довільної точки P = (x, y), яка переміщується в нову точку P' = (x', y'), зрушуючи на Tx одиниць паралельно осі абсцис і на Ty одиниць паралельно осі ординат, можна записати такі вирази: x' = x + Tx, y' = y + Ty. Так, наприклад, точка з координатами P(1,2) зміщуючись на відстань (5,7) перетворюється в точку P'(6,9). Визначаючи точку і перенос як вектор-рядка P = (x, y), P' = (x', y') і T = (Tx, Ty) можна записати перетворення переносу (зсуву) у векторній формі: (x', y') = (x, y) + (Tx, Ty) або P' = P + T. Перетворенню можна піддати не тільки одні точки. Геометричний об'єкт можна перемістити, застосувавши до кожної його точки перетворення переносу. Так, якщо в описі об'єкта є відрізки прямої, то досить застосувати перетворення до кінців відрізка і потім провести пряму лінію між двома перетвореними точками. Це правило справедливо і для операцій масштабування і повороту. На рис.2 представлений результат дії на трикутник операції перенесення на відстань (2, -1).
Рис.2.
Точки можна піддати операції масштабування (розтягування або стиснення) в Sx разів вздовж осі абсцис і в Sy разів вздовж осі ординат. Отримані в результаті нові точки будуть виражатися як: x' = x * Sx; y' = y * Sy. Визначивши S як
дані вирази можна записати в матричній формі:
або P' = P * S. На рис.3 показаний трикутник, промасштабованний з коефіцієнтами 0,5 за осю абсцис і коефіцієнтом 2 вздовж осі ординат.
Рис. 3.
Слід зазначити, що операція масштабування здійснюється відносно початку координат. У результаті перетворення об'єкт може стати менше/більше в розмірах і ближче/далі від початку координат. Пропорції об'єкта також можуть змінитися при масштабуванні з різними коефіцієнтами: Sx≠Sy. Для збереження пропорцій необхідно, щоб масштабні коефіцієнти були рівні: Sx = Sy.
Точка площині P = (x, y) може бути повернена на довільний кут щодо початку координат і перейде в нову точкуP' = (x', y') (рис. 4)
Рис. 4.
Виведемо формули для перерахунку точки (x, y) в точку (x', y'). Позначимо відстань від початку координат до точки P (x, y) через ρ. Очевидно, що відстань від початку координат до точки P'(x', ...